% fname: routing_oddeven__sel_random__topology_8x8__.m
% ./noxim -routing oddeven -sel random -dimx 8 -dimy 8  -sim 10000 -warmup 2000 -size 8 8 -buffer 4 

function [max_pir, max_throughput, min_delay] = routing_oddeven__sel_random__topology_8x8__(symbol)

data = [
%             pir      avg_delay     throughput      max_delay       rpackets         rflits
             0.01        24.1791      0.0786816            201           5036          40285
             0.01        23.5773       0.079332            151           5079          40618
             0.01         24.044      0.0799004            140           5115          40909
             0.01        24.7289      0.0806504            168           5164          41293
             0.01        23.6269      0.0761543            197           4873          38991
             0.01        24.2219      0.0816777            171           5227          41819
             0.01        24.9034      0.0802676            194           5134          41097
             0.01         25.085      0.0808691            189           5175          41405
             0.01        24.8077      0.0793535            131           5075          40629
             0.01        24.6369       0.079209            194           5070          40555
             0.01        27.6509      0.0804375            348           5148          41184
             0.01        25.0501      0.0820996            159           5254          42035
             0.01        23.6898       0.078916            147           5051          40405
             0.01        23.8877      0.0807168            142           5165          41327
             0.01        24.5828      0.0796641            202           5098          40788
             0.01        24.2268      0.0805039            175           5149          41218
             0.01        24.6731      0.0809902            176           5182          41467
             0.01        25.2413       0.079832            244           5109          40874
             0.01         25.367      0.0821426            186           5259          42057
             0.01        24.5763      0.0798984            143           5115          40908
           0.0105        25.1542      0.0837813            163           5362          42896
           0.0105        25.8551      0.0847031            218           5424          43368
           0.0105        27.9958      0.0861855            223           5520          44127
           0.0105        25.5484      0.0826738            191           5294          42329
           0.0105        26.7057      0.0846484            176           5419          43340
           0.0105        24.8746      0.0836523            150           5357          42830
           0.0105        25.9388      0.0850801            163           5445          43561
           0.0105        25.0482      0.0842539            155           5391          43138
           0.0105         25.827      0.0843242            151           5400          43174
           0.0105        26.2612      0.0837324            200           5359          42871
           0.0105        25.4752      0.0844434            167           5404          43235
           0.0105        25.5463      0.0844082            130           5404          43217
           0.0105        25.0837       0.084457            113           5403          43242
           0.0105        25.2652      0.0842891            166           5395          43156
           0.0105        25.9466      0.0848164            185           5428          43426
           0.0105        25.9421      0.0833887            170           5338          42695
           0.0105        25.8835      0.0845059            232           5409          43267
           0.0105        25.2039      0.0826426            246           5286          42313
           0.0105        25.3819      0.0838301            146           5365          42921
           0.0105         24.825      0.0842695            188           5395          43146
            0.011        30.6003      0.0923262            328           5907          47271
            0.011        26.5326      0.0880469            147           5637          45080
            0.011        26.3123      0.0879258            169           5626          45018
            0.011        27.5413      0.0890488            201           5699          45593
            0.011        28.4159      0.0879551            277           5629          45033
            0.011        28.0686      0.0881016            209           5638          45108
            0.011        27.9276      0.0885742            211           5666          45350
            0.011        26.4148       0.089127            161           5702          45633
            0.011        26.6547      0.0864453            177           5532          44260
            0.011        27.2314       0.088832            175           5686          45482
            0.011        26.5384      0.0882363            139           5646          45177
            0.011        26.0562      0.0868652            191           5556          44475
            0.011        27.5522      0.0895723            153           5733          45861
            0.011        27.5248      0.0867051            222           5543          44393
            0.011        28.3131      0.0884824            367           5662          45303
            0.011        27.4461      0.0901543            214           5768          46159
            0.011        26.9132      0.0867539            288           5551          44418
            0.011        27.4689      0.0864824            194           5538          44279
            0.011        27.2587       0.088168            173           5644          45142
            0.011        26.6356      0.0869121            136           5562          44499
           0.0115        27.2111      0.0907383            222           5808          46458
           0.0115        29.2963        0.09275            201           5934          47488
           0.0115        28.3486      0.0928965            188           5943          47563
           0.0115        29.4018       0.090918            172           5816          46550
           0.0115        28.6942      0.0917031            151           5869          46952
           0.0115        29.0528      0.0943965            170           6041          48331
           0.0115        28.9372      0.0931309            174           5958          47683
           0.0115        28.5672      0.0914844            177           5857          46840
           0.0115        31.3222      0.0924531            234           5919          47336
           0.0115        29.1327      0.0931016            240           5960          47668
           0.0115        53.5164      0.0923008            812           5912          47258
           0.0115        30.8636      0.0900273            383           5757          46094
           0.0115        29.9363      0.0925176            246           5921          47369
           0.0115        27.7217      0.0927012            204           5936          47463
           0.0115        33.7543      0.0926348            456           5929          47429
           0.0115        30.6012       0.091875            264           5878          47040
           0.0115        30.7224      0.0922285            474           5905          47221
           0.0115        30.1437      0.0903086            304           5784          46238
           0.0115        29.8059      0.0934336            219           5980          47838
           0.0115        31.5032      0.0920957            275           5896          47153
            0.012        29.9561      0.0952852            204           6100          48786
            0.012        31.7403      0.0957871            278           6131          49043
            0.012        31.9487      0.0968555            354           6201          49590
            0.012        30.6026      0.0938945            233           6011          48074
            0.012        34.4167      0.0949023            351           6078          48590
            0.012        34.8256      0.0958867            331           6137          49094
            0.012        33.7694      0.0936973            500           5998          47973
            0.012        31.5303      0.0947871            257           6066          48531
            0.012        28.6088      0.0949609            226           6078          48620
            0.012        32.1915      0.0954707            235           6109          48881
            0.012        32.1246      0.0936543            443           5994          47951
            0.012        41.2768      0.0950898            486           6091          48686
            0.012        30.0895      0.0957129            210           6123          49005
            0.012        30.6842      0.0958672            399           6136          49084
            0.012        39.8614      0.0979863            415           6268          50169
            0.012        30.4948      0.0959707            200           6140          49137
            0.012        30.2243      0.0945273            221           6051          48398
            0.012        33.3349      0.0975332            205           6238          49937
            0.012        30.6549      0.0947656            238           6065          48520
            0.012        29.3033      0.0956699            226           6126          48983
           0.0125        34.4028      0.0989863            340           6333          50681
           0.0125        32.1557        0.10026            277           6415          51333
           0.0125        35.0544       0.100523            282           6433          51468
           0.0125        37.0014       0.102742            380           6580          52604
           0.0125        41.1162      0.0997617            391           6386          51078
           0.0125        54.6417       0.101098            449           6473          51762
           0.0125        34.6534      0.0980176            447           6272          50185
           0.0125        71.5724       0.101328           1217           6482          51880
           0.0125        30.8752       0.100594            202           6441          51504
           0.0125        34.4231       0.100674            684           6438          51545
           0.0125         34.456      0.0995156            254           6371          50952
           0.0125          40.33      0.0997129            515           6379          51053
           0.0125        34.3173       0.100049            360           6401          51225
           0.0125        31.7258      0.0985645            217           6309          50465
           0.0125         40.129      0.0989102            329           6334          50642
           0.0125        64.5638       0.100553            935           6438          51483
           0.0125        43.4574      0.0989395            565           6329          50657
           0.0125        31.1009      0.0996953            214           6382          51044
           0.0125        36.0181      0.0999453            282           6396          51172
           0.0125        40.1301       0.101893            376           6520          52169
            0.013        41.0579       0.105529            539           6757          54031
            0.013        92.4716       0.102436           1466           6556          52447
            0.013        41.5583        0.10401            561           6658          53253
            0.013         33.134       0.101574            308           6501          52006
            0.013        47.7289       0.105523            461           6753          54028
            0.013        37.2029        0.10168            535           6506          52060
            0.013        47.2828       0.105705            519           6765          54121
            0.013        35.6275        0.10299            477           6590          52731
            0.013        40.6499       0.103184            477           6603          52830
            0.013        38.2131       0.104385            413           6682          53445
            0.013        82.4529       0.105262           1124           6735          53894
            0.013        37.0864       0.105955            275           6783          54249
            0.013        53.4382       0.104547            690           6693          53528
            0.013        49.3493       0.106213            594           6797          54381
            0.013        34.2068       0.102504            233           6562          52482
            0.013        33.4543       0.104393            214           6678          53449
            0.013        41.4663        0.10073            425           6444          51574
            0.013        50.4716       0.103414            805           6618          52948
            0.013        33.0195        0.10325            235           6609          52864
            0.013        37.5517       0.106205            345           6797          54377
           0.0135        130.903       0.105297           1633           6739          53912
           0.0135        96.1858       0.106842           1841           6839          54703
           0.0135        37.0958       0.107766            300           6898          55176
           0.0135        349.863      0.0988125           4094           6325          50592
           0.0135        107.944       0.105902           1849           6778          54222
           0.0135        39.3339       0.107031            269           6847          54800
           0.0135        70.6155       0.106963           1537           6845          54765
           0.0135        146.786       0.107764           1351           6897          55175
           0.0135        87.2177       0.107291           1189           6868          54933
           0.0135        80.0558       0.105324            791           6744          53926
           0.0135        46.6017       0.109162            454           6985          55891
           0.0135        129.257       0.106416           1961           6812          54485
           0.0135        102.679       0.108176           1917           6923          55386
           0.0135        49.0518       0.106479            492           6815          54517
           0.0135        59.8027       0.106816            541           6832          54690
           0.0135         43.428       0.107201            371           6865          54887
           0.0135        64.1593       0.106959            593           6841          54763
           0.0135        52.0465       0.108096            470           6920          55345
           0.0135        45.4165        0.10809            345           6917          55342
           0.0135        47.4999       0.106684            342           6826          54622
            0.014        445.861       0.102916           5060           6586          52693
            0.014        460.787       0.100484           4965           6436          51448
            0.014        440.606       0.103322           5128           6618          52901
            0.014        112.274       0.112449           1757           7197          57574
            0.014         365.99       0.108936           4691           6973          55775
            0.014        332.436       0.105313           3400           6740          53920
            0.014        96.2841        0.10793           1461           6910          55260
            0.014        263.437       0.106043           3007           6782          54294
            0.014        226.461       0.102787           3628           6581          52627
            0.014        534.701      0.0963594           7402           6167          49336
            0.014        230.091       0.103744           2882           6633          53117
            0.014        100.779       0.101934           1432           6520          52190
            0.014        218.456       0.110137           2698           7052          56390
            0.014        46.4813       0.109355            564           6998          55990
            0.014        81.9944       0.112609           1413           7206          57656
            0.014        62.3963         0.1094            641           7003          56013
            0.014        65.6189       0.113811            896           7290          58271
            0.014         471.14       0.100621           5171           6445          51518
            0.014        68.6294       0.110113            825           7045          56378
            0.014        188.731       0.103936           3194           6651          53215
           0.0145        406.695       0.106977           5528           6842          54772
           0.0145        725.702          0.105           6675           6723          53760
           0.0145        163.606       0.106525           3569           6817          54541
           0.0145        341.214       0.107266           3445           6864          54920
           0.0145        439.876       0.105438           5285           6745          53984
           0.0145        436.246      0.0937266           6272           6000          47988
           0.0145        348.315       0.100496           5143           6432          51454
           0.0145        575.219      0.0931191           5500           5959          47677
           0.0145        390.776      0.0981973           5478           6291          50277
           0.0145        244.392       0.111295           3383           7123          56983
           0.0145         353.19       0.104672           4259           6694          53592
           0.0145         115.44       0.112484           1411           7198          57592
           0.0145        461.704       0.105443           4720           6746          53987
           0.0145        603.096       0.096248           6309           6164          49279
           0.0145        552.285       0.109553           5043           7009          56091
           0.0145        581.337      0.0906523           6852           5801          46414
           0.0145        380.188      0.0984258           5408           6299          50394
           0.0145        305.403        0.10833           3781           6935          55465
           0.0145        276.079       0.106158           3483           6792          54353
           0.0145        472.345       0.103229           5678           6603          52853
            0.015         761.39      0.0953066           6602           6102          48797
            0.015        496.939       0.101268           5759           6481          51849
            0.015        607.183       0.103104           6550           6597          52789
            0.015        824.325      0.0948477           7279           6071          48562
            0.015        591.975      0.0952305           8146           6090          48758
            0.015         514.55      0.0977305           5114           6251          50038
            0.015        451.458       0.102955           5231           6588          52713
            0.015        366.724       0.103791           4529           6638          53141
            0.015         686.07       0.092627           7042           5930          47425
            0.015        499.752      0.0966289           6283           6186          49474
            0.015        347.042       0.105705           4976           6767          54121
            0.015         495.39      0.0999199           5787           6391          51159
            0.015        895.553      0.0848652           7128           5429          43451
            0.015        651.432          0.101           6519           6463          51712
            0.015        382.011       0.103072           5417           6595          52773
            0.015        800.199       0.102557           7171           6569          52509
            0.015        455.493      0.0928027           5827           5937          47515
            0.015        567.954      0.0980859           5831           6271          50220
            0.015        359.372        0.10017           4153           6408          51287
            0.015        284.106       0.108123           3745           6923          55359
           0.0155         546.65      0.0920625           6924           5891          47136
           0.0155         700.61       0.101344           8270           6487          51888
           0.0155        507.972      0.0971367           5665           6210          49734
           0.0155        543.396      0.0914121           8301           5853          46803
           0.0155        419.851      0.0998809           7261           6390          51139
           0.0155        833.597      0.0904062           7173           5785          46288
           0.0155        724.103      0.0947871           7041           6064          48531
           0.0155        699.349       0.103207           6929           6605          52842
           0.0155        750.895      0.0929258           7580           5948          47578
           0.0155        680.994         0.1004           6155           6425          51405
           0.0155        712.853      0.0917207           7409           5873          46961
           0.0155         794.86       0.095377           7839           6104          48833
           0.0155        583.184      0.0908828           5524           5815          46532
           0.0155        284.814        0.10668           4557           6828          54620
           0.0155         779.64      0.0931152           7362           5964          47675
           0.0155         518.06      0.0971758           6464           6219          49754
           0.0155        692.773       0.101041           6787           6466          51733
           0.0155        569.555      0.0948379           7069           6071          48557
           0.0155          819.2      0.0871738           7607           5583          44633
           0.0155        581.248       0.101322           6507           6487          51877
            0.016        984.071      0.0884121           7978           5658          45267
            0.016        984.404      0.0892754           7745           5709          45709
            0.016        658.477      0.0958027           8278           6130          49051
            0.016        767.401      0.0866211           8046           5550          44350
            0.016        689.574      0.0921016           7040           5894          47156
            0.016        798.784       0.092123           7448           5895          47167
            0.016         551.42      0.0932324           7042           5960          47735
            0.016        732.105       0.091959           7339           5885          47083
            0.016        931.602      0.0913652           7616           5847          46779
            0.016        649.933      0.0910332           7254           5827          46609
            0.016        858.217      0.0895371           7661           5731          45843
            0.016        595.649       0.096334           6418           6166          49323
            0.016        696.269      0.0998301           7618           6388          51113
            0.016        446.567       0.099625           5973           6373          51008
            0.016        755.692       0.094791           6942           6064          48533
            0.016        683.295      0.0947422           7501           6064          48508
            0.016        794.855      0.0947832           7814           6069          48529
            0.016        885.764      0.0855449           8078           5475          43799
            0.016        518.085      0.0920137           6688           5892          47111
            0.016        856.726      0.0903848           8177           5786          46277
           0.0165        906.653      0.0948535           7891           6072          48565
           0.0165        914.047      0.0902695           8191           5778          46218
           0.0165        966.257      0.0851113           8230           5449          43577
           0.0165        877.781      0.0927441           8873           5935          47485
           0.0165        851.679      0.0903418           8238           5782          46255
           0.0165        769.893      0.0944629           8596           6041          48365
           0.0165        773.334      0.0859199           7570           5496          43991
           0.0165        881.406       0.101156           7988           6474          51792
           0.0165        821.405      0.0893789           7726           5722          45762
           0.0165        985.682      0.0966562           8219           6190          49488
           0.0165        739.327      0.0848594           8448           5431          43448
           0.0165        661.985      0.0969473           8332           6209          49637
           0.0165        881.648      0.0915645           8072           5859          46881
           0.0165        1060.41      0.0847754           7975           5430          43405
           0.0165          997.7      0.0875684           8493           5601          44835
           0.0165         976.03      0.0880273           8646           5634          45070
           0.0165        932.675      0.0873223           8020           5591          44709
           0.0165        847.145      0.0928574           8456           5944          47543
           0.0165         952.95      0.0885547           8435           5671          45340
           0.0165        862.716      0.0905859           7915           5797          46380
            0.017        901.502        0.09375           9038           5998          48000
            0.017        1076.56      0.0840098           8059           5377          43013
            0.017        912.317      0.0939766           7996           6015          48116
            0.017        797.884      0.0909609           8001           5820          46572
            0.017        1154.55      0.0865879           8250           5538          44333
            0.017        698.872      0.0896563           8021           5737          45904
            0.017        855.778      0.0871035           7737           5571          44597
            0.017          913.6      0.0896289           8851           5735          45890
            0.017        1034.69      0.0884824           8596           5663          45303
            0.017        1091.81      0.0860703           8667           5512          44068
            0.017        1151.43      0.0835781           8895           5347          42792
            0.017        992.861      0.0872852           8216           5589          44690
            0.017        883.228      0.0890527           7918           5701          45595
            0.017        1100.63      0.0928066           8715           5939          47517
            0.017        1094.01      0.0907754           7938           5809          46477
            0.017        898.086      0.0899766           8556           5760          46068
            0.017        787.341      0.0880723           8606           5633          45093
            0.017        1127.72      0.0905078           8391           5792          46340
            0.017        1126.21      0.0831113           8383           5317          42553
            0.017        1424.75      0.0858691           8944           5498          43965
           0.0175        1158.94      0.0849375           8428           5439          43488
           0.0175           1119      0.0821563           9270           5260          42064
           0.0175        1078.34      0.0844375           8454           5399          43232
           0.0175        1102.06      0.0851445           9054           5452          43594
           0.0175        1147.33      0.0869453           8790           5564          44516
           0.0175        992.052          0.085           8795           5438          43520
           0.0175        1152.15      0.0864004           8395           5530          44237
           0.0175        1104.11      0.0867402           9066           5547          44411
           0.0175         1034.8       0.081543           8840           5217          41750
           0.0175        1205.25      0.0838379           8985           5367          42925
           0.0175        1193.66      0.0891328           8671           5704          45636
           0.0175        1035.18      0.0852402           8898           5456          43643
           0.0175        1390.95       0.081168           8475           5192          41558
           0.0175        1144.57      0.0857285           8158           5493          43893
           0.0175        1000.16      0.0883984           7961           5656          45260
           0.0175        944.502      0.0845391           8135           5408          43284
           0.0175           1423      0.0801172           9199           5128          41020
           0.0175        1047.77      0.0824199           8267           5275          42199
           0.0175        984.398      0.0874453           9027           5600          44772
           0.0175        1080.66      0.0853418           8618           5460          43695
];

rows = size(data, 1);
cols = size(data, 2);

data_delay = [];
for i = 1:rows/20,
   ifirst = (i - 1) * 20 + 1;
   ilast  = ifirst + 20 - 1;
   tmp = data(ifirst:ilast, cols-5+1);
   avg = mean(tmp);
   [h sig ci] = ttest(tmp, 0.1);
   ci = (ci(2)-ci(1))/2;
   data_delay = [data_delay; data(ifirst, 1:cols-5), avg ci];
end

figure(1);
hold on;
plot(data_delay(:,1), data_delay(:,2), symbol);

data_throughput = [];
for i = 1:rows/20,
   ifirst = (i - 1) * 20 + 1;
   ilast  = ifirst + 20 - 1;
   tmp = data(ifirst:ilast, cols-5+2);
   avg = mean(tmp);
   [h sig ci] = ttest(tmp, 0.1);
   ci = (ci(2)-ci(1))/2;
   data_throughput = [data_throughput; data(ifirst, 1:cols-5), avg ci];
end

figure(2);
hold on;
plot(data_throughput(:,1), data_throughput(:,2), symbol);

data_maxdelay = [];
for i = 1:rows/20,
   ifirst = (i - 1) * 20 + 1;
   ilast  = ifirst + 20 - 1;
   tmp = data(ifirst:ilast, cols-5+3);
   avg = mean(tmp);
   [h sig ci] = ttest(tmp, 0.1);
   ci = (ci(2)-ci(1))/2;
   data_maxdelay = [data_maxdelay; data(ifirst, 1:cols-5), avg ci];
end

figure(3);
hold on;
plot(data_maxdelay(:,1), data_maxdelay(:,2), symbol);


%-------- Saturation Analysis -----------
slope=[];
for i=2:size(data_throughput,1),
    slope(i-1) = (data_throughput(i,2)-data_throughput(i-1,2))/(data_throughput(i,1)-data_throughput(i-1,1));
end

for i=2:size(slope,2),
    if slope(i) < (0.95*mean(slope(1:i)))
        max_pir = data_throughput(i, 1);
        max_throughput = data_throughput(i, 2);
        min_delay = data_delay(i, 2);
        break;
    end
end
